package com.vcredit.creditcat.api.product.h5;


import com.vcredit.creditcat.dto.product.h5.BindBankCardParamDto;
import com.vcredit.creditcat.dto.product.h5.CheckOrderResultDto;
import com.vcredit.creditcat.dto.product.h5.CreateOrderParamDto;
import com.vcredit.creditcat.dto.product.h5.LoanBindCardListDto;
import com.vcredit.creditcat.dto.product.h5.LoanOrderIndexDto;
import com.vcredit.creditcat.dto.product.h5.QueryBankByCardResultDto;
import com.vcredit.creditcat.dto.product.h5.QueryContractResultDto;
import com.vcredit.creditcat.dto.product.h5.QueryOrderStatusResultDto;
import com.vcredit.creditcat.dto.product.h5.SdOrderReviewInfoDto;
import com.vcredit.creditcat.dto.product.h5.SdTryCalculateParamDto;
import com.vcredit.creditcat.dto.product.h5.SdTryCalculateResultDto;
import com.vcredit.creditcat.dto.product.h5.SubmitBindCardParamDto;
import com.vcredit.creditcat.dto.product.h5.TryCalculateParamDto;
import com.vcredit.creditcat.dto.product.h5.TryCalculateResultDto;
import com.vcredit.creditcat.model.Cust;
import com.vcredit.framework.exception.BaseException;


public interface IAfterCreditManager {

	CheckOrderResultDto checkUser(Long productId, Cust cust) throws Exception;

	TryCalculateResultDto tryCalculate(Long productId, TryCalculateParamDto param, Cust cust) throws Exception;

	String submitLoan(Long productId, CreateOrderParamDto param, Cust cust) throws Exception;

	SdOrderReviewInfoDto queryReviewInfo(Cust cust) throws Exception;

	void bindCard(Long productId, BindBankCardParamDto param, Cust cust) throws Exception;

	QueryContractResultDto queryContract(Long productId, Cust cust) throws Exception;

	QueryOrderStatusResultDto queryOrderStatus(Long productId, Cust cust) throws Exception;

	SdTryCalculateResultDto sdTryCalculate(SdTryCalculateParamDto param, Cust cust) throws Exception;

	LoanBindCardListDto loanbindCardList(Long productId, Cust cust);

	Boolean submitBindCard(Long productId, SubmitBindCardParamDto param,
			Cust cust) throws Exception;

	LoanOrderIndexDto loanOrderIndex(Long productId,Cust cust) throws Exception;

	LoanBindCardListDto bankInfoList();

	QueryBankByCardResultDto queryBankByCard(String bankCard) throws Exception;

	Cust queryCustInfo(Cust cust) throws BaseException;

	String queryJump(Cust cust, Long productId) throws Exception;

	void updateLoanOrderStatus(Long productId, String order_id, Integer order_status) throws BaseException;

	void uploadSignature(Cust cust, Long productId, String signatureImg) throws BaseException;

	String sdGetDeviceId(Cust cust)throws Exception;
	
	String sdGetCreditAmt(Cust cust,Long productId)throws Exception;
}
